package kevin.framework.basic.common.user;

import javax.servlet.http.HttpServletRequest;

import kevin.framework.basic.common.utils.IOnShutdownLogThreadPool;
import kevin.framework.basic.common.utils.OperatorRecord;
import kevin.framework.basic.common.utils.UrlInfo;

/**
 * @Description: 用户操作记录接口
 * @author kevin.huang
 * @date 2016年8月29日 上午9:53:29
 * @version v1.0.0
 */
public interface IUserOperatorRecorder {

	/**
	 * @Description: 记录实现
	 * @param record 行为信息
	 */
	void record(final OperatorRecord record, final UrlInfo urlInfo);

	OperatorRecord createOperatorRecord(LoginUser user, HttpServletRequest request);

	/**
	 * 请求切入面
	 **/
	void requestAspect(LoginUser user, HttpServletRequest request);

	void shutdownLogThreadPool(IOnShutdownLogThreadPool onShutdown);
}
